/** 
Copyright (c) 2010, Sheikh Abdul Wahid Ahmed
Details @ http://extremecodeworld.codeplex.com/license
**/

using System;
using EXtremecode.Utils;

using System.Data;
using EXtremecode.DataAccessLayer;

namespace EXtremecode.DataAccessLayer
{
	/// <summary>
	/// Summary description for EmptyDataAccessor.
	/// </summary>
	public class EmptyDataAccessor:DataAccessor 
	{
		#region SYSTEM QUERIES
		internal override string QUERY_Table 
		{ 
			get 
			{
				return	"";
			}
		}
        internal override string QUERY_View 
		{
			get 
			{
				return "";
			}
		}
		internal override string QUERY_TableColumn 
		{
			get 
			{
				return "";
			}
		}
		#endregion

		
        public override string DBNow
        {
            get { return "Empty"; }
        }

        protected override DataTable GetRelationInfo()
        {
            return null;
        }

	
		
        public EmptyDataAccessor(string sAccessorName,string sConnectionURL):this(sAccessorName,sConnectionURL,true)
		{
			
		}

        public EmptyDataAccessor(string sAccessorName, string sConnectionURL, bool validationRequired)
            : base(sAccessorName, sConnectionURL,validationRequired)
        {

        }

        internal override string AdjustUDType4BinaryField(int intTypeCode, string strUDType)
		{
			return strUDType;
		}
		
		
		
		public override string GetParameterName(string paramName)
		{
			return paramName;
		}

		public override IDbCommand CreateCommand()
		{
			
			return new EmptyCommand(); 
		}

        internal override IDbDataAdapter CreateDataAdapter()
		{
			return new EmptyDataAdapter();
		}

		public override IDataParameter GetParameter(string name,string type)
		{
			return new EmptyParameter();
		}
		

		
		protected override IDbConnection  CreateConnection()
		{
			
			return new EmptyConnection(); 

		}
        internal override string GeneratePagingQuery(string selectQuery, string sortedBy, bool isSortingTypeAscending, int pageNumber, int pageSize, long? totalRecords)
		{
			return string.Empty;
		}




	}
}
